lib.use(['element', 'table', 'form','tablePlug'], function () {
    var table = layui.table;
    var layer = layui.layer;
    var form = layui.form;
    var entTable;
    //初始表格基础参数
    table.set(common.layui.table.config());
    entTable = table.render({
        elem: '#entTable'
        , url: common.util.createUrl('/sys/ent/list')
        , cols: [[
            {type:'checkbox'}
           ,{type: 'numbers', title: '编号' }
           ,{field: 'id', title: 'Id', hide:true}
           ,{ title: '租户名称', field: 'entName',width: 250}
           ,{ title: '租户类型', field: 'entType' ,width: 80,templet: function (row) { return common.dist.getValue("sys.Ent_EntTypeEnum",row.entType);}}
          // ,{ title: '联系人手机', field: 'entMobile'}
         // ,{ title: '联系人邮箱', field: 'entEmail'}
         // ,{ title: '组织状态', field: 'entStatus' ,templet: function (row) { return common.dist.getValue("sys.Ent_EntStatusEnum",row.entStatus);}}
           ,{ title: '是否有效', field: 'isValid' ,width: 80,templet: function (row) { return common.dist.getValue("comm.ValidEnum",row.isValid);}}
           ,{ title: '到期时间', field: 'overdueTime',width: 150}
           ,{ title: '租户编号', field: 'itemCode',width: 80}
           ,{ title: '备注', field: 'remark',width: 150}
          /* ,{ title: '修改人', field: 'updateUserName',width: 80}*/
           ,{ title: '修改时间', field: 'updateTime',width: 150}
           ,{
                field:"id",fixed: 'right', title: '操作', width: 100, templet: function (row) {
                    return '<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="userManger">用户管理</a>';
                }
            }
        ]]
    });
    //监听行单击事件
    table.on('rowDouble(entTableFilter)', function(obj){
        update(obj)
    });
    $(document).on('click','#batchDel',function(){
        del(table.checkStatus('entTable'))
    });
    $(document).on('click','#update',function(){
        update(table.checkStatus('entTable'))
    });
    $(document).on('click','#add',function(){
        location.href = 'entForm.html';
    });
    //监听单元格事件
    table.on('tool(entTableFilter)', function (obj,a,b,c) {
        if (obj.event === 'userManger') {
            userManger(obj);
        }
    });
    form.on('submit(searchFilter)', function(data){
        var param = data.field;
        searchTable(param)
        return false;
    });

    /**
     * 查询表格
     * @param params
     */
    function searchTable(params) {
        if(!params){
            params=common.from.serializeObject('#searchFrm');
        }
        entTable.reload({ where: params})
    }
    /**
     * 修改
     * @param obj
     */
    function update(obj) {
        if(!common.auth.hasPermission("sys:ent:update"))return;
        var postData = [];
        if(obj.data.constructor === Array){
            postData=obj.data.map(function (item) {
                return item['id'];
            });
        }else{
            postData=[obj.data.id]
        }
        if(postData.length!=1){common.util.error('请选择一条记录');return;}
        location.href = 'entForm.html?id=' + postData[0];
    }
    /**
     * 删除
     * @param obj
     */
    function del(obj) {
        var postData = [];
        if(obj.data.constructor === Array){
            postData=obj.data.map(function (item) {
                return item['id'];
            });
        }else{
            postData=[obj.data.id]
        }

        if(postData.length!=1){common.util.error('请选择一条记录');return;}
        common.util.confirm('确认删除!', function(index){
                console.log('Config Del param is', postData);
                common.ajax.post('/sys/ent/delete', postData, function (resp) {
                    searchTable();
                    layer.close(index);
                })

         });
    }



    function userManger(ent) {
        layer.open({
            type: 2,
            area: ['800px', '600px'],
            fix: true, //不固定
            shadeClose: true,
            shade:0.4,
            title: '用户管理',
            closeBtn:1,
            content: '../user/userList.html?entId='+ent.data.id+'&navHide=true',
            btnAlign: 'c',
        });
    }
});
